return {
	-- Vscode-like pictograms
	{
		"onsails/lspkind.nvim",
		event = { "VimEnter" },
	},

	-- Auto-completion engine
	{
		"hrsh7th/nvim-cmp",
		dependencies = { "lspkind.nvim" },
		config = function()
			require("config.nvim-cmp")
		end,
	},
	{ "hrsh7th/cmp-nvim-lsp", dependencies = { "nvim-cmp" } },
	{ "hrsh7th/cmp-buffer", dependencies = { "nvim-cmp" } },
	{ "hrsh7th/cmp-path", dependencies = { "nvim-cmp" } },
	{ "hrsh7th/cmp-cmdline", dependencies = { "nvim-cmp" } },
	-- Code snippet engine
	{
		"L3MoN4D3/LuaSnip",
		version = "v2.*",
	},

	{
		"williamboman/mason.nvim",
		config = function()
			require("mason").setup({
				ui = {
					icons = {
						package_installed = "✓",
						package_pending = "➜",
						package_uninstalled = "✗",
					},
				},
			})
		end,
		dependencies = {
			"neovim/nvim-lspconfig",
		},
	},

	{
		"williamboman/mason-lspconfig.nvim",
		config = function()
			require("mason-lspconfig").setup({
				-- 添加 LSP
				ensure_installed = { "html", "cssls", "pylsp", "lua_ls", "rust_analyzer", "tsserver", "gopls" },
			})
		end,
	},
    {
        "ray-x/go.nvim",
        dependencies = {
            "ray-x/guihua.lua",
            "neovim/nvim-lspconfig",
            "nvim-treesitter/nvim-treesitter",
        },
        config = function()
            require("go").setup()
        end,
        event = { "CmdlineEnter"},
        ft = { "go", 'gomod' },
        build = ':lua require("go.install").update_all_sync()'
    }
}
